package com.xiaoping.base;

/**
 * 二叉搜索树
 * 首先它是一棵树
 * 性质：
 * 1. 若任意节点的左子树不空，则左子树上所有节点的值均小于它的根节点的值；
 * 2. 若任意节点的右子树不空，则右子树上所有节点的值均大于它的根节点的值；
 * 3. 任意节点的左、右子树也分别为二叉查找树；
 * 4. 没有键值相等的节点。
 * 二叉搜索树需要的操作：
 * 1. 查找
 * 2. 插入
 * 3. 删除
 * 4. 遍历
 * 5. 排序
 */
public class BinarySearchTree<Key extends  Comparable<Key>, Value> {
    private class Node {
        private Node leftChild;
        private Node rightChild;
        private Key key;
        private Value value;

        public Node(Key k, Value v) {
            this.key = k;
            this.value = v;
        }
    }

    private Node root; // 根节点
    private int count; // 二叉树中的数量

//    public void insert(Node node) {
//        if(null == root) {
//            root = node;
//        }else {
//
//        }
//    }
}
